{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# ndarray\n",
    "\n",
    "表示一个n维数组，它有这些属性\n",
    "- shape 一个元组表示各维度是多少\n",
    "- dtype 元素的数据类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2, 3)\n",
      "int32\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "a = np.array([\n",
    "    [1, 2, 3], \n",
    "    [4, 5, 6]\n",
    "], dtype=np.int32)\n",
    "\n",
    "print(a.shape) # 2x3 数组\n",
    "print(a.dtype)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (2,) + inhomogeneous part.",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[16], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m a \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\n\u001b[1;32m      2\u001b[0m \u001b[43m    \u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m      3\u001b[0m \u001b[43m    \u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m4\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m5\u001b[39;49m\u001b[43m]\u001b[49m\n\u001b[1;32m      4\u001b[0m \u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m      6\u001b[0m \u001b[38;5;28mprint\u001b[39m(a\u001b[38;5;241m.\u001b[39mshape)\n\u001b[1;32m      7\u001b[0m \u001b[38;5;28mprint\u001b[39m(a\u001b[38;5;241m.\u001b[39mdtype)\n",
      "\u001b[0;31mValueError\u001b[0m: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (2,) + inhomogeneous part."
     ]
    }
   ],
   "source": [
    "# 这样会报错\n",
    "a = np.array([\n",
    "    [1, 2, 3],\n",
    "    [4, 5]\n",
    "])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数组操作方法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## rollaxis\n",
    "\n",
    "函数定义 `rollaxis(a, axis, start=0)`\n",
    "\n",
    "用于变换数组的维度，将指定的轴(axis)变到指定轴(start)，两参数都是从0开始，当：\n",
    "- 向前移时，将被移动新的axis=start，原处的元素向后移\n",
    "- 向后移动时，被移动的元素将处于start前一个位置，也就是它的新axis=start-1\n",
    "\n",
    "下面的示例来自函数文档，演示了将一个 3x4x5x6 维数组变换成指定维度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3, 6, 4, 5)"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "# 创建一个如下shape的多维数组，所有元素值为1\n",
    "a = np.ones((3,4,5,6))\n",
    "# 将axis=3的元素（6）移到第1的位置（原来4所处的位置，3的后面），其它元素的顺序保持不变\n",
    "np.rollaxis(a, 3, 1).shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(5, 3, 4, 6)"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# start=0，将原来axis=2的元素5，移动到最前\n",
    "a = np.ones((3,4,5,6))\n",
    "np.rollaxis(a, 2).shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(3, 5, 6, 4)"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 向后移，将原来axis=1的元素4移动到start的前一个位置\n",
    "a = np.ones((3,4,5,6))\n",
    "np.rollaxis(a, 1, 4).shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(6, 3, 4, 5)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = np.ones((3, 4, 5, 6))\n",
    "# start取默认值0，将倒数第1个元素（6）移到最前\n",
    "np.rollaxis(a, axis=-1).shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用一个实际的二维数组演示"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[11, 21, 31],\n",
       "       [12, 22, 32]])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = np.asarray([\n",
    "    [11, 12],\n",
    "    [21, 22],\n",
    "    [31, 32],\n",
    "])\n",
    "a.shape # 3x2\n",
    "b = np.rollaxis(a, axis=-1)\n",
    "# b.shape # 2x3\n",
    "b"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "具体一点的用法，例如处理图片时：一个RGBA图片是一个 n x m x 4 数组，前两个维度是长宽，最后一个维度的数组是4个数值表示 Red Green Blue Alpha（透明）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "from PIL import Image\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "fname = os.path.join(os.path.abspath(\"\"), 'img.jpg')\n",
    "img = Image.open(fname)\n",
    "imga = img.convert('RGBA') # n x m x 4 数组\n",
    "\n",
    "imga = np.asarray(imga)\n",
    "r, g, b, a = np.rollaxis(imga, axis=-1)\n",
    "# 上面的方法将最后一个维度变成第0个，最后得到一个 4 x n x m 数组，也就是 [R, G, B, A]，每个元素都是 n x m 数组\n",
    "# 那么 r 就是各像素上的红色值、a就是各像素上的透明值\n",
    "\n",
    "imga = Image.fromarray(np.dstack([r, g, b != 255, a]), 'RGBA')\n",
    "plt.imshow(imga)\n",
    "plt.axis('on')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv (3.13.3)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
